The present invention relates to techniques for applying modulation constraints to data to eliminate data patterns prone to read errors, and more particularly, to techniques for ensuring that specific prohibited symbols do not occur periodically.
A disk drive can write data bits onto a data storage disk such as a magnetic hard disk. The disk drive can also read data bits that have been stored on a data disk. Certain data patterns are difficult to write onto a disk and often cause errors when the data patterns are read back. Long sequences of consecutive zeros or consecutive ones (e.g., 40 consecutive zeros) are examples of data patterns that are prone to errors. A long sequence of alternating polarity bits (010101010 . . . ) is another example of an error prone data pattern.
Therefore, it is desirable to eliminate error prone patterns in channel input data. Eliminating error prone patterns ensures reliable operation of the detector and timing loops in a disk drive system. One way to eliminate error prone data patterns is to substitute these data patterns with data patterns that are less likely to cause errors. The substitute symbols can be stored in memory in lookup tables. Lookup tables, however, are undesirable for performing substitutions of data patterns with a large number of bits, because they require a large amount of memory.
Many disk drives have a modulation encoder that uses modulation codes to eliminate error prone data patterns. Modulation encoders impose global and/or interleaved constraints on data to eliminate certain data patterns. A global G constraint at the input of a 1/(1+D2) precoder prohibits data patterns with more than G consecutive zeros. An interleaved I constraint at the input of a 1/(1+D2) precoder prohibits data patterns with more than I consecutive zeros in an even or odd interleave.
Modulation codes, also known as constrained codes, have been widely used in magnetic and optical data storage to eliminate sequences that are undesired for the processes of recording and reproducing digital data. Various classes of modulation codes are used in practice. For example, peak detection systems employing run length-limited RLL(d,k) constrained codes, such as rate-1/2 RLL(2,7) and rate-2/3 RLL(1,7) codes, have been predominant in digital magnetic storage at low normalized linear densities.
At moderate normalized linear densities, the introduction of partial-response maximum-likelihood (PRML) detection channels into data storage required a different type of constrained codes. This class of codes, which are known as PRML(G,I) codes, facilitates timing recovery and gain control, and limits the path memory length of the sequence detector, and therefore the decoding delay, without significantly degrading detector performance. PRML(G,I) codes are used in conjunction with 1/(1+D2) precoders and noise-predictive maximum likelihood (NPML) channels, which generalize the PRML concept.
More recently, maximum transition run (MTR) codes, in particular MTR(j,k) and MTR(j,k,t) codes, have been introduced to provide coding gain for noise-predictive maximum likelihood channels. MTR codes, which are used in conjunction with 1/(1+D) precoders, improve detector performance by eliminating or reducing the occurrence of dominant error events at the output of the sequence detector at the expense of increasing the baud rate and incorporating the j-constraint into the detector by implementing a time-varying trellis.
Many prior art techniques for using modulation codes to reduce the occurrence of errors require a high latency time. Therefore, it would be desirable to provide alternative modulation encoding techniques for eliminating error prone data patterns that reduce the latency time.